package chapter07

/**
  * 集合的操作
  */
object Test11_CommOp extends App {

  private val list1 = List(1, 3, 5, 7, 9, 87)
  private val list2 = List(13, 43, 25, 75, 87)

  // 1.获取集合的头
  println(list1.head)
  // 2.获取除第一个元素剩下的
  println(list1.tail)

  // 3.获取最后一个元素
  println(list1.last)

  // 4. 获取初始数据(不包括最后一个)
  println(list1.init)

  // 5. 反转
  println(list1.reverse)

  // 6. 取
  println(list1.take(3))
  println(list1.takeRight(3))
  println(list1.drop(2))


  // 7.并集
  println(list1.union(list2))
  println(list1 ::: list2)
  println(list1 ++ list2)
  // 8.交集

  println(list1.intersect(list2))

  //9 .差集
  println(list1.diff(list2))
  println(list2.diff(list1))

  //10.拉链
  println(list1.zip(list2))
  println(list2.zip(list1))

  //11. 滑窗
  for (item<-list1.sliding(3,3)) {
    println(item)
  }

}
